package client.network.interactive;

import message.Message;
import client.network.ServiceRequestCenter;

public interface InteractiveRequest {
  
  public void startRequest(ServiceRequestCenter servicer);
  
  /**
   * Receives a tentative reply
   * <p>
   * If the message is the desired reply, then it processes it.
   * @requires message not null
   * @param message a tentative reply
   * @return true if no more reply is expected and hence can be terminated
   */
  
  public boolean getReply(ServiceRequestCenter servicer, Message message);
  
}
